package com.neighbor.neighborhoodadmin.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.neighbor.neighborhoodadmin.pojo.Posts;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 用户帖子表 Mapper 接口
 * </p>
 *
 * @author song
 * @since 2025-09-22 09:11:23
 */
public interface IPostsDao extends BaseMapper<Posts> {
    List<Posts> getHots();   //获取热门帖
    /**
     * 自定义连表查询方法，获取带用户信息的帖子列表
     * @param page 分页对象
     * @param type 帖子类型
     * @param status 帖子状态
     * @param postId 帖子ID，用于精确搜索
     * @param nickname 用户昵称，用于模糊搜索

     * @return 分页后的帖子列表
     */
    IPage<Posts> getPostsWithUser(Page<Posts> page,
                                  @Param("type") Integer type,
                                  @Param("status") Integer status,
                                  @Param("postId") Integer postId,
                                  @Param("nickname") String nickname);
    
    Posts getPostWithUserById(Integer postId);
}
